// article路由处理函数模块

// 导入数据库据操作模块
const db = require("../db/index");

// 导入处理路由的path核心模块
const path = require("path");

// 发布新文章的处理函数
exports.addArticle = (req, res) => {
  const articleInfo = {
    // 标题、内容、状态、所属的分类ID
    ...req.body,
    /// 文章封面再服务器端的存放路径
    cover_img: path.join("/uploads", req.file.filename),
    // 文章发布事件
    pub_date: new Date(),
    // 文章作者的ID
    author_id: req.user.id,
  };
  console.log("==========>");
  // 手动判断是否上传了文章的封面
  if (!req.file || req.file.fieldname !== "cover_img") {
    return res.cc("文章封面是必选参数！");
  }
  // TODO: 表单数据合法，继续后面的处理流程
  const addArticleSQL = `INSERT INTO ev_articles SET ?`;
  // 调用db.query()执行发布文章的SQL语句
  db.query(addArticleSQL, articleInfo, (err, results) => {
    // 执行SQL语句失败
    if (err) {
      return res.cc(err);
    }
    // 执行SQL语句成功，但影响行数不等于1
    if (results.affectedRows !== 1) {
      return res.cc("发布文章失败！");
    }
    // 发布文章成功
    res.cc("发布文章成功", 0);
  });
};
